﻿using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    /// <summary>
    /// 种母分娩接口
    /// </summary>
    public interface ISheepMomDeliveryService
    {
        /// <summary>
        /// 种母妊娠显示
        /// </summary>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="OverBit"></param>
        /// <param name="MomPergnantPrincipal"></param>
        /// <param name="BuildingManagementId"></param>
        /// <param name="DeliverySlowId"></param>
        /// <returns></returns>
        Task<List<SheepMomDeliveryDto>> GetSheepMomDelivery(string? startTime, string? endTime, string? OverBit, string? MomPergnantPrincipal, int BuildingManagementId, string? DeliverySlowId);
        /// <summary>
        /// 种母妊娠添加
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        Task<int> AddSheepMomDelivery(List<SheepMomDelivery> sheepMomDelivery);

        /// <summary>
        /// 种母分娩显示
        /// </summary>
        /// <returns></returns>
        object GetSheepMomDeliveryList();
      
        /// <summary>
        /// 种母分娩信息删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> DelSheepMomDelivery(int id);
        /// <summary>
        /// 种母分娩信息反填
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<SheepMomDelivery> BackFillSheepMomDelivery(int id);
        /// <summary>
        /// 修改种母分娩信息
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        Task<int> UpdateSheepMomDelivery(SheepMomDelivery m);
    }
}
